/*
汉诺塔问题
递归思路: 有n个饼， 3个柱子  left middle right
1. 将n-1个事件(饼) 通过right协助全部扔到middle中
2. 将最后一个事件  直接扔到right中
3. 再将那n-1个在middle中的事件，通过left协助，扔到right中
 */
/**
 *
 * @param n {number}
 * @param source {string}
 * @param destination {string}
 * @param helper {string}
 */
function process (n, source, destination, helper) {
  if (n === 1) {
    console.log(`${source} -> ${destination}`)
    return
  }
  process(n - 1, source, helper, destination)
  console.log(`${source} -> ${destination}`)
  process(n - 1, helper, destination, source)
}

process(3, 'left', 'right', 'helper')
